package cn.edu.wfit.modules.infomanagement.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.edu.wfit.common.core.annotation.Excel;
import cn.edu.wfit.common.core.web.domain.BaseEntity;

/**
 * 老师管理对象 cis_teacher
 * 
 * @author 韩强
 * @date 2024-12-27
 */
public class Teacher extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 教师id */

    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    /** 工号 */
    @Excel(name = "工号")
    private String teacherCode;

    /** 校区id */
    @Excel(name = "校区id")
    private Long campusId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String realname;

    /** 用户性别 */
    @Excel(name = "用户性别")
    private String sex;

    /** email */
    @Excel(name = "email")
    private String email;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 身份证 */
    @Excel(name = "身份证")
    private String idCard;

    /** 政治面貌 */
    @Excel(name = "政治面貌")
    private String politicalStatus;

    /** 民族 */
    @Excel(name = "民族")
    private String ethnicity;

    /** 手机 */
    @Excel(name = "手机")
    private String phone;

    /** 职称 */
    @Excel(name = "职称")
    private String title;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 住址 */
    @Excel(name = "住址")
    private String address;

    /** 学历 */
    @Excel(name = "学历")
    private String education;

    /** 学位 */
    @Excel(name = "学位")
    private String degree;

    /** 毕业院校 */
    @Excel(name = "毕业院校")
    private String school;

    /** 所学专业 */
    @Excel(name = "所学专业")
    private String major;

    /** 二级学院id */
    @Excel(name = "二级学院id")
    private Long collegeId;

    /** 学院名称 */
    @Excel(name = "学院名称")
    private String collegeName;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 银行卡 */
    @Excel(name = "银行卡")
    private String bankCard;

    /** 开户行 */
    @Excel(name = "开户行")
    private String issuingBank;

    /** 照片 */
    @Excel(name = "照片")
    private String photo;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 登录id */
    private int loginId;

    public int getLoginId() {
        return loginId;
    }

    public void setLoginId(int loginId) {
        this.loginId = loginId;
    }

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setTeacherCode(String teacherCode) 
    {
        this.teacherCode = teacherCode;
    }

    public String getTeacherCode() 
    {
        return teacherCode;
    }
    public void setCampusId(Long campusId) 
    {
        this.campusId = campusId;
    }

    public Long getCampusId() 
    {
        return campusId;
    }
    public void setRealname(String realname) 
    {
        this.realname = realname;
    }

    public String getRealname() 
    {
        return realname;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }
    public void setPoliticalStatus(String politicalStatus) 
    {
        this.politicalStatus = politicalStatus;
    }

    public String getPoliticalStatus() 
    {
        return politicalStatus;
    }
    public void setEthnicity(String ethnicity) 
    {
        this.ethnicity = ethnicity;
    }

    public String getEthnicity() 
    {
        return ethnicity;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setNativePlace(String nativePlace) 
    {
        this.nativePlace = nativePlace;
    }

    public String getNativePlace() 
    {
        return nativePlace;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setEducation(String education) 
    {
        this.education = education;
    }

    public String getEducation() 
    {
        return education;
    }
    public void setDegree(String degree) 
    {
        this.degree = degree;
    }

    public String getDegree() 
    {
        return degree;
    }
    public void setSchool(String school) 
    {
        this.school = school;
    }

    public String getSchool() 
    {
        return school;
    }
    public void setMajor(String major) 
    {
        this.major = major;
    }

    public String getMajor() 
    {
        return major;
    }
    public void setCollegeId(Long collegeId) 
    {
        this.collegeId = collegeId;
    }

    public Long getCollegeId() 
    {
        return collegeId;
    }
    public void setCollegeName(String collegeName) 
    {
        this.collegeName = collegeName;
    }

    public String getCollegeName() 
    {
        return collegeName;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setBankCard(String bankCard) 
    {
        this.bankCard = bankCard;
    }

    public String getBankCard() 
    {
        return bankCard;
    }
    public void setIssuingBank(String issuingBank) 
    {
        this.issuingBank = issuingBank;
    }

    public String getIssuingBank() 
    {
        return issuingBank;
    }
    public void setPhoto(String photo) 
    {
        this.photo = photo;
    }

    public String getPhoto() 
    {
        return photo;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("teacherCode", getTeacherCode())
            .append("campusId", getCampusId())
            .append("realname", getRealname())
            .append("sex", getSex())
            .append("email", getEmail())
            .append("birthday", getBirthday())
            .append("idCard", getIdCard())
            .append("politicalStatus", getPoliticalStatus())
            .append("ethnicity", getEthnicity())
            .append("phone", getPhone())
            .append("title", getTitle())
            .append("nativePlace", getNativePlace())
            .append("address", getAddress())
            .append("education", getEducation())
            .append("degree", getDegree())
            .append("school", getSchool())
            .append("major", getMajor())
            .append("collegeId", getCollegeId())
            .append("collegeName", getCollegeName())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("bankCard", getBankCard())
            .append("issuingBank", getIssuingBank())
            .append("photo", getPhoto())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
